package com.cdtye.itps.cms.dao.datasysn;

import com.cdtye.common.kafkacore.model.dto.KfkBaseDto;
import com.cdtye.itps.cms.dao.plan.entity.JcjcPlanDetail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;

@ApiModel(value = "检测计划")
@Data
@Accessors(chain = true)
public class DetailPlanOriginal extends KfkBaseDto {

    @ApiModelProperty(value = "厂商计划ID")
    private String extPlanId;

    @ApiModelProperty(value = "路局编码")
    private String railwayCode;

    @ApiModelProperty(value = "路局名称")
    private String railwayName;

    @ApiModelProperty(value = "供电段编码")
    private String powerSupplySectionCode;

    @ApiModelProperty(value = "供电段名称")
    private String powerSupplySectionName;

    @ApiModelProperty(value = "计划状态，0 新建、1 待审批、2 审批通过、3 审批不通过、4 已发布、5 已签收、6 已执行、7 已上传、8 已分析、9 计划取消")
    private String status;

    @ApiModelProperty(value = "装置类型")
    private String ctype;

    @ApiModelProperty(value = "计划检测日期")
    private Date planDate;

    @ApiModelProperty(value = "线路编码")
    private String lineCode;

    @ApiModelProperty(value = "线路名称")
    private String lineName;

    @ApiModelProperty(value = "行别编码")
    private String lineTypeCode;

    @ApiModelProperty(value = "行别名称")
    private String lineTypeName;

    @ApiModelProperty(value = "计划检测开始站区间编码")
    private String startStCode;

    @ApiModelProperty(value = "计划检测开始站区间名称")
    private String startStName;

    @ApiModelProperty(value = "计划检测结束站区间编码")
    private String endStCode;

    @ApiModelProperty(value = "计划检测结束站区间名称")
    private String endStName;

    @ApiModelProperty(value = "编制人姓名")
    private String workOutName;

    @ApiModelProperty(value = "执行部门编码")
    private String executeDeptCode;

    @ApiModelProperty(value = "执行部门名称")
    private String executeDeptName;

    @ApiModelProperty(value = "计划执行日期，日期格式：yyyy-MM-dd HH:mm:ss")
    private Date executeDate;

    @ApiModelProperty(value = "实际检测开始站区间编码")
    private String realStartStCode;

    @ApiModelProperty(value = "实际检测开始站区间名称")
    private String realStartStName;

    @ApiModelProperty(value = "实际检测结束站区间编码")
    private String realEndStCode;

    @ApiModelProperty(value = "实际检测结束站区间名称")
    private String realEndStName;

    @ApiModelProperty(value = "审批人姓名")
    private String auditUserName;

    @ApiModelProperty(value = "审批日期日期格式：yyyy-MM-dd HH:mm:ss")
    private Date auditDate;

    @ApiModelProperty(value = "取消原因")
    private String cancelContent;

    @ApiModelProperty(value = "检测人员姓名")
    private String staffNames;

    @ApiModelProperty(value = "厂商编码")
    private String menufacturerCode;

    @ApiModelProperty(value = "检测设备")
    private String detectDev;

    @ApiModelProperty(value = "附件，样例")
    private String files;

    @ApiModelProperty(value = "取消人")
    private String cancelUser;

    @ApiModelProperty(value = "取消时间")
    private String cancelDate;

    @ApiModelProperty(value = "检测车次")
    private String detectTrain;

    @ApiModelProperty(value = "是否删除，0否，1是")
    private String isDeleted;

    @ApiModelProperty(value = "检测里程")
    private double mileage;




    public JcjcPlanDetail covEntity() {
        JcjcPlanDetail jcjcPlanDetail = new JcjcPlanDetail();
        jcjcPlanDetail.setExtPlanId(this.extPlanId);
        jcjcPlanDetail.setStatus(this.status);
        jcjcPlanDetail.setPlanDate(this.planDate);
        jcjcPlanDetail.setPreparedBy(this.workOutName);
        jcjcPlanDetail.setPlanExecutDate(this.executeDate);
        jcjcPlanDetail.setApprove(this.auditUserName);
        jcjcPlanDetail.setApprovelTime(this.auditDate);
        jcjcPlanDetail.setCancelContent(this.cancelContent);
        jcjcPlanDetail.setActualTester(this.staffNames);
        jcjcPlanDetail.setMenufacturerCode(this.menufacturerCode);
        jcjcPlanDetail.setEquipment(this.detectDev);
        jcjcPlanDetail.setEnclosure(this.files);
        jcjcPlanDetail.setCancelUser(this.cancelUser);
        jcjcPlanDetail.setCancelDate(this.cancelDate);
        jcjcPlanDetail.setPlanTrainNum(this.detectTrain);
        jcjcPlanDetail.setDelFlag(this.isDeleted);
        jcjcPlanDetail.setPlanMileage(this.mileage);
        return jcjcPlanDetail;
    }

}
